home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO015A.dsk / PROGRAMS / PRG.1.bas < prev    next >
BASIC Source File  |  2012-02-16  |  8KB  |  129 lines

  1. 10  ONERR  GOTO 3800
  2. 30  HOME : POKE 34,5: POKE 35,20: &  RECALL NM$: GOSUB 3690: &  RECALL NM$:WD =  VAL( MID$ (NM$,83,3)) -2
  3. 35  &  RECALL NM$:WD =  VAL( MID$ (NM$,83,3)) -2: HOME : POKE 813,255: GOTO 1240
  4. 60  &  AT P,R: IF R >0  THEN  &  PRINT ,B$(75),,: GOTO 1250
  5. 70  &  TANP,PH$: &  RETURN 
  6. 100  HOME :B = 0:Z$ = "DOWNLOAD ": &   OR ,Z$: &  SCALE= H:HH = H +3969: &  GOSUB 150: &  PRINT ,B$(5);: &  GET Z$: PRINT : GOTO 260
  7. 150 NK$ =  CHR$(21)
  8. 160 SO$ =  CHR$(1):CN$ =  CHR$(24):EO$ =  CHR$(4):AK$ =  CHR$(6):TS$ = CN$ +NK$ +AK$
  9. 240  ONERR  GOTO 245
  10. 241 ER = 0: &  SHLOAD : &  SCALE= H: PRINT BL$;F$;",TTXT,E$7780,B";B;",A";H
  11. 245  &  ONERR  = ER,LI: ONERR  GOTO 3800
  12. 246  IF ER = 6  THEN  &  PRINT "File not found!",,: GOTO 1240
  13. 247  &  RETURN 
  14. 260 I = 0: FOR X = 0 TO 10000: &  LOAD Z$: IF Z$ = NK$  THEN X = 20000: NEXT : PRINT : PRINT : PRINT "SENDING DATA...": PRINT : GOTO 320
  15. 280 I = I +1: IF I >100  THEN  PRINT ".";:I = 0
  16. 290  NEXT : PRINT : PRINT "NAK START UP ERROR!": GOTO 450
  17. 320 I = 1
  18. 330  PRINT "SENDING BLOCK ";I:ER = 0
  19. 340  &  FOR H,I:X = 0
  20. 350  &  LOAD Z$: IF Z$ = ""  THEN X = X +1: ON X >400 GOTO 540: GOTO 350
  21. 360  &  INTTS$,Z$,Z: ON Z GOTO 470,480,370: GOTO 350
  22. 370 H = H +128: IF H <HH  THEN 400
  23. 390 B = B +3969: &  GOSUB 160: &  SCALE= H
  24. 400 I = I +1: IF  PEEK(H) = 0  THEN 440
  25. 410  IF I >255  THEN I = 0
  26. 420  GOTO 330
  27. 440  &  PRINT EO$: PRINT "TRANSMISSION COMPLETE!"
  28. 450  GOTO 1240
  29. 470 ER = 20
  30. 480  IF ER >10  THEN 500
  31. 490  PRINT "NAK  ERROR BLOCK ";I;" ";ER
  32. 500  IF ER =  >10  THEN  &  PRINT CN$: PRINT : PRINT "TRANSFER CANCELED!": PRINT : PRINT : GOTO 450
  33. 510 ER = ER +1: GOTO 340
  34. 540  IF ER =  >10  THEN 500
  35. 550  PRINT "WAIT ERROR BLOCK ";I;" ";ER:ER = ER +1:X = 0: GOTO 350
  36. 580  HOME :B = 0:Z$ = "DOWNLOAD ": &   OR ,Z$: &  SCALE= H: &  GOSUB 240: &  PRINT ,B$(5);: &  GET Z$: &  PRINT 
  37. 600  &  PRINT  = H;: &  END R: ON R GOTO 610,610:B = B +3969: &  GOSUB 240: IF  PEEK(H) < >0  THEN 600
  38. 610  GOTO 1240
  39. 710  &  GOSUB 60 PRINT PF$;Z$: &  RETURN 
  40. 1100 SL =  ASC( MID$ (NM$,80,1)) -64: &  RETURN 
  41. 1220 :
  42. 1240 T = T(L):M = M(L):B = B(L):A =  VAL( MID$ (NM$,81,1)):MT = MT(L)
  43. 1250  IF A = 0  AND MT = 1  THEN  PRINT BL$;"M.FIL."; PEEK(865);".";L:A = 5
  44. 1260  IF T < >1  THEN 1300
  45. 1270  IF MD = 0  THEN 1300
  46. 1280  IF MM = 0  THEN  &  PRINT B$(6);: GOTO 1300
  47. 1290  &  PRINT B$(7);MM;
  48. 1300  &  LIST A,S$(T),S$(M),S$(B),B$(0),T$(L),B$(1),C,S,TY,WH,NM,P:A =  VAL( MID$ (NM$,81,1)): IF C = 0  THEN  &  PRINT ,B$(2),: GOTO 1220
  49. 1330  IF S >127  THEN  &  PRINT ,B$(3),: GOTO 1220
  50. 1370  ON WH GOTO 1410,1430,1450,1500,1520,1540,1560,1580,1620,1850,1250,1690,1250,1250,1800,1900,2000,2100,2200,2300,2400,2500,2600,2700,2800,2900,1250,1250,3200,3300
  51. 1410 A = 0: GOTO 1250
  52. 1430  POKE 795,L:L = NM: GOTO 1240
  53. 1450  &  PRINT ,B$(17);: &  USRZ: ON Z GOTO 1460,1250
  54. 1460  POKE 793,4: ONERR  GOTO 1480
  55. 1470  &  PRINT ,B$(99),,: &  FN 4,A
  56. 1480  &  FN 5,A:P =  PEEK(836): &  GOSUB 60: PRINT RN$;"LOG"
  57. 1500  ONERR  GOTO 1505
  58. 1502  &  TANP,PH$:Z$ = PH$ +"/G.FIL." + STR$(NM) +",L$0FFF,TTXT,B":P = 0: &  PRINT ,,,
  59. 1504  &  SHLOAD : &  SCALE= HM: PRINT BL$;Z$;P;",A";HM: &  PRINT  = HM;: &  END R: ON R GOTO 1505,1505:P = P +4095: GOTO 1504
  60. 1505  &  ONERR  = ER: PRINT FR$: ONERR  GOTO 3800
  61. 1506  IF ER = 253  THEN 1480
  62. 1507  GOTO 1250
  63. 1520  &  GOSUB 60: PRINT RN$;"PRG.";NM
  64. 1540  &  PRINT ,B$(60),: GOTO 1250
  65. 1560  &  GOSUB 70: &  SCALE= HM: PRINT BL$;PH$;"/MSG.";NM;",A";HM: &  PRINT ,B$(61),, = HM,: GOTO 1250
  66. 1580  &  MID$ "3",NM$,81,1: &  STORE NM$: &  PRINT ,B$(62): GOTO 1240
  67. 1620  &  GOSUB 1600:L =  PEEK(794): GOTO 1240
  68. 1690  &  SCALE= HM: PRINT BL$;"MSG.";NM;",A";HM: &  PRINT ,B$(61),, = HM,: GOTO 1250
  69. 1800 E = 0: FOR I = 1 TO 50: IF R$(I) < >""  AND  MID$ (R$(I),68,1) < >"*"  THEN E = E +1
  70. 1801  NEXT : &  PRINT ,E;B$(6),,: IF E = 0  THEN 1250
  71. 1809 I = 1: &  PRINT B$(7)
  72. 1810  IF R$(I) = ""  THEN 1830
  73. 1815  IF  MID$ (R$(I),68,1) = "*"  THEN 1830
  74. 1820  &  PRINT !; RIGHT$("  " + STR$(I),2);"> ";@ MID$ (R$(I),1,15): &  END Z: ON Z GOTO 1250,1250
  75. 1830 I = I +1: IF I <51  THEN 1810
  76. 1840  GOTO 1250
  77. 1850  &  PRINT ,B$(16);: &  STR$2,"090": &  INPUT Z$:Z =  VAL(Z$): IF Z$ = ""  THEN 1250
  78. 1860  IF Z <1  OR Z >50  THEN 1250
  79. 1865  IF R$(Z) = ""  THEN R$(Z) = R$(0) +""
  80. 1870 ED = Z:L = 1: GOTO 1240
  81. 1900 E = 0: FOR I = 1 TO 50: IF R$(I) < >""  AND  MID$ (R$(I),68,1) < >"*"  THEN E = E +1
  82. 1901  NEXT : &  PRINT ,E;B$(6),,: IF E = 0  THEN 1250
  83. 1909 I = 1: &  PRINT B$(8)
  84. 1910  IF R$(I) = ""  THEN 1930
  85. 1915  IF  MID$ (R$(I),68,1) = "*"  THEN 1930
  86. 1920  &  PRINT !; RIGHT$("  " + STR$(I),2);"> "; MID$ (R$(I),1,15);" "; MID$ (R$(I),17,3);: &  END Z: ON Z GOTO 1250,1250
  87. 1922  &  PRINT !;" "; MID$ (R$(I),40,20);" "; MID$ (R$(I),20,20);" "; MID$ (R$(I),60,8): &  END Z: ON Z GOTO 1250,1250
  88. 1930 I = I +1: IF I <51  THEN 1910
  89. 1940  GOTO 1250
  90. 2000  &  PRINT ,B$(9);@ MID$ (R$(ED),1,15):Z$ =  MID$ (R$(ED),1,15): &  STR$15," ": &  PRINT B$(19);: &   STEP Z$: &  MID$ Z$,R$(ED),1,15: GOTO 1250
  91. 2100  FOR I = 0 TO 7: &  TANI,PH$(I): NEXT : FOR I = 0 TO 7: &  PRINT I;"> ";PH$(I): NEXT : &  PRINT ,B$(10);PH$( VAL( MID$ (R$(ED),16,1))): &  PRINT B$(18);: &  GET Z$: IF Z$ <"0"  OR Z$ >"7"  THEN 1250
  92. 2140  &  MID$ Z$,R$(ED),16,1: GOTO 1250
  93. 2200  &  PRINT ,B$(11); MID$ (R$(ED),17,3): &  STR$3,"090": &  PRINT B$(20);: &  INPUT Z$: IF Z$ = ""  THEN 1250
  94. 2220 Z =  VAL(Z$): IF Z = 0  THEN 1250
  95. 2230 Z$ =  RIGHT$("   " + STR$(Z),3): &  MID$ Z$,R$(ED),17,3: GOTO 1250
  96. 2300  &  PRINT ,B$(12);@ MID$ (R$(ED),40,20):Z$ =  MID$ (R$(ED),40,20): &  STR$20," ": &  PRINT B$(21);: &   STEP Z$: &  MID$ Z$,R$(ED),40,20: GOTO 1250
  97. 2400  &  PRINT ,B$(13);@ MID$ (R$(ED),20,20):Z$ =  MID$ (R$(ED),20,20): &  STR$20," ": &  PRINT B$(22);: &   STEP Z$: &  MID$ Z$,R$(ED),20,20: GOTO 1250
  98. 2500  &  PRINT ,B$(14);@ MID$ (R$(ED),60,8):Z$ =  MID$ (R$(ED),60,8): &  STR$8,"09/": &  PRINT B$(23);: &   STEP Z$: &  MID$ Z$,R$(ED),60,8: GOTO 1250
  99. 2600  &  PRINT ,B$(9);@ MID$ (R$(ED),1,15): &  PRINT B$(10); MID$ (R$(ED),16,1): &  PRINT B$(11); MID$ (R$(ED),17,3): &  PRINT B$(12);@ MID$ (R$(ED),40,20): &  PRINT B$(13);@ MID$ (R$(ED),20,20): &  PRINT B$(14); MID$ (R$(ED),60,8): &  PRINT B$(15); MID$ (R$(ED),68,1): GOTO 1250
  100. 2700 L = 0: PRINT ST$;"OVR.1": GOTO 1240
  101. 2800  &  PRINT ,B$(15); MID$ (R$(ED),68,1): &  STR$1," ": &  PRINT B$(24);: &  INPUT Z$: &  MID$ Z$,R$(ED),68,1: GOTO 1250
  102. 2900  &  PRINT ,B$(4);: &  STR$1,"SXX": &  INPUT Z$: IF Z$ = ""  THEN 1200
  103. 2910  &  INT"XS",Z$,X:Z =  VAL( MID$ (NM$,86,1)):Z =  PEEK(Z +814): &  STR$2,"090": &  PRINT B$(25);: &  INPUT Z$:Z =  VAL(Z$): IF Z$ = ""  THEN 1250
  104. 2930  IF R$(Z) = ""  THEN  &  PRINT ,B$(26),,: GOTO 1250
  105. 2940  IF  MID$ (R$(Z),68,1) = "*"  THEN  &  PRINT ,B$(26),,: GOTO 1250
  106. 2950 F$ =  MID$ (R$(Z),1,15):P =  VAL( MID$ (R$(Z),16,1)): &  TANP,Z$:F$ = Z$ +"/" +F$: ON X GOTO 100,580
  107. 3200 P =  PEEK(836): &  GOSUB 60: PRINT RN$;"BBS.1"
  108. 3300  GOTO 5040
  109. 3690  IF F2$ = ""  THEN  PRINT  CHR$(4);"RESTORE OVR.1"
  110. 3700 R$(0) = "NNNNNNNNNNNNNNN0BBBFFFFFFFFFFFFFFFFFFFFDDDDDDDDDDDDDDDDDDDD07/18/85*": POKE 847,0: RETURN 
  111. 3770  &  RECALL NM$:WD =  VAL( MID$ (NM$,83,3)) -1
  112. 3780 MX =  INT(4000/(WD +1)): IF MX >99  THEN MX = 99
  113. 3790  &  RETURN 
  114. 3800  &  ONERR  = ER,LI: ONERR  GOTO 3800
  115. 3810  ON ER = 253 GOTO 1480: IF ER < >255  THEN 4020
  116. 3830  &  PRINT ,,"Please wait...",,: HOME 
  117. 3840  PRINT "[Q]UIT THE PROGRAM": PRINT "[U]TILITIES": PRINT "[R]ETURN TO PROGRAM": PRINT "[T]OGGLE CLOCK": PRINT "[O]FF HANG-UP": PRINT "COMMAND? ": GET Z$: &  SGNZ$: &  INT"QRUTO",Z$,Z: ON Z GOTO 3920,3980,4010,3940,4000: GOTO 3840
  118. 3920  END 
  119. 3930  IF  PEEK(813) = 0  THEN  POKE 813,255: &  PRINT "Clock is on...",,,: GOTO 3840
  120. 3940  POKE 813,0: &  PRINT "Clock is off..",,,: GOTO 3840
  121. 3950  GOTO 1480
  122. 3980  &  GOTO LI
  123. 4000  POKE 793,5: &  AT  PEEK(836),A: PRINT RN$;"LOG"
  124. 4010  &  PRINT ,,"Not available on this version...";: GET Z$: GOTO 1250
  125. 4015  PRINT RN$;"SYS.UTIL"
  126. 4020  &  PRINT ,"Error number ";ER;" in line ";LI,"Recycling to top!":ER =  PEEK(847):ER = ER +1: POKE 847,ER: IF ER >5  THEN  END 
  127. 4030  RUN 
  128. 5040  &  PRINT ,"Enter password? ";: &  STR$19," ": POKE 825,255: &  INPUT Z$: POKE 825,0: IF Z$ = "PASSWORD"  THEN 40181
  129. 5050  &  PRINT "Wrong": GOTO 1250